package cn.bzc.data.process.infra.constant;


import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * <p>通用返回结果</p>
 *
 * @author sprainkle
 * @date 2019/5/2
 */
@Getter
@AllArgsConstructor
public enum CommonResponseEnum implements IResponseEnum {
    /**
     * 成功
     */
    SUCCESS(0, "SUCCESS"),
    /**
     * 服务器繁忙，请稍后重试
     */
    SERVER_BUSY(9998, "服务器繁忙"),
    /**
     * 服务器异常，无法识别的异常，尽可能对通过判断减少未定义异常抛出
     */
    SERVER_ERROR(9999, "网络异常"),

    /**
     * 5*** 系统封装的工具出现异常
     */

    // Time
    DATE_NOT_NULL(5001, "日期不能为空"),
    DATETIME_NOT_NULL(5001, "时间不能为空"),
    TIME_NOT_NULL(5001, "时间不能为空"),
    DATE_PATTERN_MISMATCH(5002, "日期[%s]与格式[%s]不匹配，无法解析"),
    PATTERN_NOT_NULL(5003, "日期格式不能为空"),
    PATTERN_INVALID(5003, "日期格式[%s]无法识别"),
    USER_NOT_EXIST(6000,"用户不存在"),
    USER_ACCOUNT_EXPIRED(6001,"账户已过期"),
    USER_CREDENTIALS_ERROR(6002,"用户名密码错误"),
    USER_CREDENTIALS_EXPIRED(6002,"密码过期失效"),
    USER_ACCOUNT_DISABLE(6002,"账户被禁用"),
    USER_ACCOUNT_LOCKED(6002,"账户被锁定"),
    USER_ACCOUNT_NOT_EXIST(6002,"账户不存在"),
    AUTHENTICATION_FAILURE(10002,"认证出错啦"),
    ACCESS_DENIED(11000,"没有权限"),
    FILE_DEFINITION_NOT_NULL(999,"文件定义不存在"),
    FILE_TYPE_NOT_NULL(999,"没有指定文件类型"),
    FILE_RULE_IS_NULL(999,"没有指定生成规则"),
    FILE_FORMAT_IS_NULL(999,"无法生成该文件格式"),
    GENERATE_RULE_NOT_EXIST(999,"生成规则不存在"),


    ENUM_VALUE_IS_NULL(999, "没有指定固定值:{0}" );

    /**
     * 返回码
     */
    private final int code;
    /**
     * 返回消息
     */
    private final String message;

}
